SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE FUNCTION [dbo].[F_Centenas](@Numero as bigint, @Estilo as bit=0) 
RETURNS varchar(500) AS  
BEGIN 
DECLARE @Texto varchar(500)
SELECT @Texto=''
SELECT @Texto=
CASE 

WHEN @Numero>=500 AND @Numero<600 THEN 'quinientos ' + 
dbo.F_Decenas(RIGHT(CONVERT(varchar, @Numero), 2), 0)

WHEN @Numero>=700 AND @Numero<800 THEN 'setecientos ' + 
dbo.F_Decenas(RIGHT(CONVERT(varchar, @Numero), 2), 0)

WHEN @Numero>=900 AND @Numero<1000 THEN 'novecientos ' + 
dbo.F_Decenas(RIGHT(CONVERT(varchar, @Numero), 2), 0)


WHEN @Numero=100 THEN 'cien'
WHEN @Numero>100 and @Numero<200 THEN 'ciento ' + 
dbo.F_Decenas(RIGHT(CONVERT(varchar, @Numero), 2), 0)
WHEN (@Numero>=200 and @Numero<500) or 
(@Numero>500 and @Numero<1000) THEN 
dbo.F_Decenas(LEFT(CONVERT(varchar, @Numero), 1), 1) + 
'cientos ' + 
dbo.F_Decenas(RIGHT(CONVERT(varchar, @Numero), 2), 1)


WHEN @Numero<10 THEN dbo.F_Unidades(@Numero, 0)
WHEN @Numero<100 THEN dbo.F_Decenas(@Numero, @Estilo)
END
RETURN @Texto
END



GO
